1400
Is it possible to define my values for sorting
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C1") , "SortType", 6);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C2");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Cell 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellData(h,0) = `3.your extra data`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SortValue=3`");
	h = _ObjectCallMethod( items , "AddItem", "Cell 1.1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellData(h,0) = `1.your extra data`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = ` SortValue=1`");
	h = _ObjectCallMethod( items , "AddItem", "Cell 1.2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellData(h,0) = `5.your extra data`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = ` SortValue=5`");
	h = _ObjectCallMethod( items , "AddItem", "Cell 1.3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellData(h,0) = `2.your extra data`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = ` SortValue=2`");

1399
I have multiple dropdown lists, that are depending on each other, that means that the values in dropdown list no. 2 is based on the users selection in dropdown list no 1. How can I do this
// EditOpen event - Occurs when the edit operation starts.
FUNCTION g2anttEvents_EditOpen()
	OBJECT editor,items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		v = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(FocusItem,0)");
		c = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellCaption(FocusItem,0)");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(1).Editor");
		_ObjectCallMethod( editor , "ClearItems");
		_ObjectCallMethod( editor , "AddItem", v,c);
END

OBJECT column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "DropDownList");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 3);
		_ObjectCallMethod( editor , "AddItem", 1,"First");
		_ObjectCallMethod( editor , "AddItem", 2,"Second");
		_ObjectCallMethod( editor , "AddItem", 3,"Third");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "DropDownList-Related") , "Editor") , "EditType", 3);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(1),1) = -1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(2),1) = -1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(3),1) = -1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItemCount(2) = 1");
	h = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItem(2,0)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDividerLineAlignment(h) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditorVisible(h,0) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValueFormat(h,0) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,0) = `The drop down editor in the second column is filled during the <b>EditOpen event</b>, and the values are based on the selection on the first column.`");
_ObjectCallMethod( g2antt , "EndUpdate");

1398
Is it possible background color displayed when the mouse passes over an item
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Def");
_ObjectSetProperty( g2antt , "HotBackColor", 8388608);
_ObjectSetProperty( g2antt , "HotForeColor", 16777215);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectCallMethod( g2antt , "EndUpdate");

1397
Is it possible to magnify a specified date and apply a different background color

OBJECT chart,g2antt,insidezoom,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawLevelSeparator", 0);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "FirstVisibleDate", "11/23/2011");
	_ObjectSetProperty( chart , "LevelCount", 3);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	_ObjectSetProperty( chart , "AllowInsideZoom", -1);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "InsideZooms") , "Add", "11/29/2011") , "AllowCustomFormat", -1);
	insidezoom = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.InsideZooms.Item(#11/29/2011#)");
		_ObjectSetProperty( insidezoom , "Width", 68);
		_ObjectSetProperty( _ObjectGetProperty( insidezoom , "CustomFormat") , "BackColorChart", 14737632);
items = _ObjectGetProperty( g2antt , "Items");
	hA = _ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddBar", hA,"Task","11/24/2011","11/26/2011","A");
	hB = _ObjectCallMethod( items , "AddItem", "Task B");
	_ObjectCallMethod( items , "AddBar", hB,"Task","11/28/2011","12/1/2011","B");
	_ObjectCallMethod( items , "AddLink", "LinkAB",hA,"A",hB,"B");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`LinkAB`,9) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`LinkAB`,10) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1396
Could you please tell me how to add multiple bars to the one line

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "FirstVisibleDate", "1/1/2002");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2002","1/4/2002","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/6/2002","1/10/2002","B");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A`,33) = 255");
	_ObjectCallMethod( items , "AddLink", "AB",h,"A",h,"B");
_ObjectCallMethod( g2antt , "EndUpdate");

1395
My development environment does not have any Object,GetOcx,DefaultDispatch,GetControlUnknown,nativeObject, ... property, is there any alternative I can pass the component to PrintExt so I can get printed
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "FirstVisibleDate", "1/1/2001");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","K1");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/5/2001","1/7/2001","K2");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"K1",h2,"K2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,6) = 0");
_ObjectCallMethod( g2antt , "EndUpdate");
_ObjectSetProperty( g2antt , "Template", "Dim p;p = CreateObject(`Exontrol.Print`);p.PrintExt = Me;p.AutoRelease = False;p.Preview();");

1394
My development environment does not have any Object,GetOcx,DefaultDispatch,GetControlUnknown,nativeObject, ... property, is there any alternative I can pass the component to PrintExt so I can get printed
OBJECT createobject("exontrol.print"),g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "FirstVisibleDate", "1/1/2001");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001","K1");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/5/2001","1/7/2001","K2");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"K1",h2,"K2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,6) = 0");
_ObjectCallMethod( g2antt , "EndUpdate");
createobject("exontrol.print") = CreateObject("Exontrol.Print");
	_ObjectSetProperty( createobject("exontrol.print") , "PrintExt", _ObjectCallMethod( g2antt , "ExecuteTemplate", "me"));
	_ObjectCallMethod( createobject("exontrol.print") , "Preview");

1393
Is it possible to display the bar's captions or labels with a different font/size

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 24);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Default");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/6/2001","","This is a the control's font");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,4) = 18");
	h = _ObjectCallMethod( items , "AddItem", "Smaller");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/6/2001","","<font ;5>This is a the control's font with a smaller size");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,4) = 18");
	h = _ObjectCallMethod( items , "AddItem", "Larger");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/6/2001","","<font ;15>This is a the control's font with a larger size");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,4) = 18");
	h = _ObjectCallMethod( items , "AddItem", "Tahoma 1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/6/2001","","<font Tahoma>This is using a Tahoma font");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,4) = 18");
	h = _ObjectCallMethod( items , "AddItem", "Tahoma 2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/6/2001","","<font Tahoma;14>This is using a <b>Tahoma</b> font with a different size");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,4) = 18");
_ObjectCallMethod( g2antt , "EndUpdate");

1392
How can I apply the same ConditionalFormat on more than 1(one) column (multiple columns and not on item)
OBJECT columns,conditionalformat,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "1","K1");
	_ObjectSetProperty( conditionalformat , "BackColor", 255);
	_ObjectSetProperty( conditionalformat , "ApplyTo", 1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "1","K2");
	_ObjectSetProperty( conditionalformat , "BackColor", 255);
	_ObjectSetProperty( conditionalformat , "ApplyTo", 2);
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectCallMethod( columns , "Add", "Column 2");
	_ObjectCallMethod( columns , "Add", "Column 3");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", );
	_ObjectCallMethod( items , "AddItem", );
	_ObjectCallMethod( items , "AddItem", );
_ObjectCallMethod( g2antt , "EndUpdate");

1391
Is it possible to change the height for all items at once
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
_ObjectCallMethod( g2antt , "EndUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 12);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.ItemHeight(0) = 12");

1390
Is it possible to include the weekday when displaying the date

OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Tasks");
	column = _ObjectCallMethod( columns , "Add", "Start");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 1");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectSetProperty( column , "FormatColumn", "value + '<font ;6> '  + (weekday(date(value)) case(0:'Sun';1:'Mon';2:'Tue';3:'Wed';4:'Thu';5:'Fri';6:'Sat'))");
	column = _ObjectCallMethod( columns , "Add", "End");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 2");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectSetProperty( column , "FormatColumn", "value + '<font ;6> '  + (weekday(date(value)) case(0:'Sun';1:'Mon';2:'Tue';3:'Wed';4:'Thu';5:'Fri';6:'Sat'))");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 256");
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectSetProperty( items , "AllowCellValueToItemBar", -1);
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","9/21/2006","9/24/2006");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 2"),"Task","9/22/2006","9/25/2006");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 3"),"Task","9/23/2006","9/26/2006");
_ObjectCallMethod( g2antt , "EndUpdate");

1389
I need my chart to display the end date with on day less. How can I do this (Method 1)

OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Tasks");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", columns)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Add(`Start`).Def(18) = 1");
	column = _ObjectCallMethod( columns , "Add", "End");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 2");
		_ObjectSetProperty( column , "FormatColumn", "shortdate(date(value)-1)");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 196");
	_ObjectSetProperty( chart , "NonworkingDays", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectSetProperty( items , "AllowCellValueToItemBar", -1);
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","9/21/2006","9/24/2006");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 2"),"Task","9/22/2006","9/25/2006");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 3"),"Task","9/23/2006","9/26/2006");
_ObjectCallMethod( g2antt , "EndUpdate");

1388
Is it possible to display my custom time-units

OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", 0);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Unit", 4096);
		_ObjectSetProperty( level , "Count", 16);
		_ObjectSetProperty( level , "Alignment", 1);
		_ObjectSetProperty( level , "Label", "<%i%>");
		_ObjectSetProperty( level , "FormatLabel", "'Half ' + (1 + (value/16) mod 2)");
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1)");
		_ObjectSetProperty( level , "Label", "<%i%>");
		_ObjectSetProperty( level , "FormatLabel", "1 + value mod 16");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim levObj")
		_ObjectCallMethod(g2antt, "TemplatePut", level)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "levObj.ReplaceLabel(2) = `<font ;10><B>Y`");
	_ObjectSetProperty( chart , "AdjustLevelsToBase", -1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.ScrollRange(0) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.ScrollRange(1) = 31");

1387
Is it possible to add new records and see them in the control's view using the DataSource

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SelectItem(Item) = True");
		_ObjectCallMethod( items , "EnsureVisibleItem", Item);
	_ObjectCallMethod( g2antt , "Edit", 0);
END

// ButtonClick event - Occurs when user clicks on the cell's button.
FUNCTION g2anttEvents_ButtonClick(OBJECT g2antt, INT Item, INT ColIndex, VARIANT Key)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "DataSource") , "AddNew", );
END

OBJECT fields,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
rs = CreateObject("ADODB.Recordset");
fields = _ObjectGetProperty( rs , "Fields");
	_ObjectCallMethod( fields , "Append", "Task",8);
	_ObjectCallMethod( fields , "Append", "Start",7);
	_ObjectCallMethod( fields , "Append", "End",7);
_ObjectCallMethod( rs , "Open", );
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "DetectAddNew", -1);
_ObjectSetProperty( g2antt , "DetectDelete", -1);
_ObjectSetProperty( g2antt , "DataSource", rs);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItemCount(0) = 1");
	h = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItem(0,0)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 22");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,0) = `AddNew`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasButton(h,0) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 1");

1386
How can I limit the bars to scrolling range only
// CreateBar event - Fired when the user creates a new bar.
FUNCTION g2anttEvents_CreateBar(OBJECT g2antt, INT Item, REAL DateStart, REAL DateEnd)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(Item,`newbar`,22) = Me.Chart.ScrollRange(2)");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(Item,`newbar`,25) = Me.Chart.ScrollRange(3)");
END

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 56");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.ScrollRange(0) = #1/1/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.ScrollRange(1) = #1/15/2001#");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/12/2001");
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddItem", "Task 3");
_ObjectCallMethod( g2antt , "EndUpdate");

1385
How do I get the handle of the last added item
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Def");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", 1);
	_ObjectCallMethod( items , "AddItem", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemByIndex(ItemCount)") );

1384
How can I set the charts date format to any other international Format then the US version. I would need "dd.mmm.yyyy" instead of "mmm.d.'yy"
OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Label", "<%dd%>.<%mmm%>.<%yyyy%>");
		_ObjectSetProperty( level , "Unit", 256);
		_ObjectSetProperty( level , "Alignment", 17);

1383
Is it possible to define the bar colors, and have the cumulative histogram showing the same colors

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "SingleSel", 0);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/24/2000");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 64);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 128");
	_ObjectSetProperty( chart , "HistogramView", 1298);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "HistogramType", 256);
		_ObjectSetProperty( bar , "HistogramItems", 6);
		_ObjectSetProperty( bar , "HistogramPattern", _ObjectGetProperty( bar , "Pattern"));
		_ObjectSetProperty( bar , "HistogramCumulativeOriginalColorBars", 1);
		_ObjectSetProperty( bar , "OverlaidType", 1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBold(h) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SelectableItem(h) = False");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Item 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/2/2001","1/4/2001");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Item 2");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/3/2001","1/5/2001");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Item 3");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/4/2001","1/6/2001");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/1/2001","1/3/2001","green");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`green`,33) = 65280");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/8/2001","1/10/2001","red");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`red`,33) = 255");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod( items , "SelectAll");
_ObjectCallMethod( g2antt , "EndUpdate");

1382
How can I hide the values shown in the legend when cumulative histogram is displayed

OBJECT bar,chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 64);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 128");
	_ObjectSetProperty( chart , "HistogramView", 1300);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "HistogramPattern", 1);
		_ObjectSetProperty( bar , "HistogramType", 256);
		_ObjectSetProperty( bar , "HistogramItems", 6);
		_ObjectSetProperty( bar , "HistogramRulerLinesColor", 128);
		_ObjectSetProperty( bar , "HistogramBorderColor", 1);
		_ObjectSetProperty( bar , "HistogramCumulativeShowLegend", 65535);
		_ObjectSetProperty( bar , "HistogramCumulativeOriginalColorBars", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project 1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", h,"","Item 1"),"Task","1/2/2001","1/4/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", h,"","Item 2"),"Task","1/3/2001","1/5/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", h,"","Item 3"),"Task","1/4/2001","1/6/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", h,"","Item 4"),"Task","1/2/2001","1/8/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(ItemByIndex(1),0) = 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1381
Is it possible to define the bar colors, and have the cumulative histogram showing the same colors

OBJECT bar,chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "SelBackColor", _ObjectGetProperty( g2antt , "BackColor"));
_ObjectSetProperty( g2antt , "SelForeColor", _ObjectGetProperty( g2antt , "ForeColor"));
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 64);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 128");
	_ObjectSetProperty( chart , "HistogramView", 1300);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "Color", 8421504);
		_ObjectSetProperty( bar , "HistogramType", 256);
		_ObjectSetProperty( bar , "HistogramItems", 6);
		_ObjectSetProperty( bar , "HistogramRulerLinesColor", 128);
		_ObjectSetProperty( bar , "HistogramBorderColor", 1);
		_ObjectSetProperty( bar , "HistogramCumulativeColors", 2);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.HistogramCumulativeColor(0) = 16711680");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.HistogramCumulativeColor(1) = 16711680");
		_ObjectSetProperty( bar , "HistogramCumulativeOriginalColorBars", 0);
		_ObjectSetProperty( bar , "HistogramPattern", _ObjectGetProperty( bar , "Pattern"));
		_ObjectSetProperty( bar , "HistogramCumulativeShowLegend", 65535);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project 1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", h,"","Item 1"),"Task","1/2/2001","1/4/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", h,"","Item 2"),"Task","1/3/2001","1/5/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", h,"","Item 3"),"Task","1/4/2001","1/6/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", h,"","Item 4"),"Task","1/2/2001","1/8/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(ItemByIndex(1),0) = 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1380
Is it possible to show the non-working pattern over the bars

OBJECT bar,bars,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "NonworkingDaysPattern", 6);
	_ObjectSetProperty( chart , "NonworkingDaysColor", 0);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 40");
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/20/2005");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 64);
	_ObjectSetProperty( chart , "HistogramView", 2160);
	_ObjectSetProperty( chart , "LevelCount", 2);
	bars = _ObjectGetProperty( chart , "Bars");
		bar = _ObjectCallMethod( bars , "Add", "Empty");
			_ObjectSetProperty( bar , "Color", 0);
			_ObjectSetProperty( bar , "Pattern", 5);
			_ObjectSetProperty( bar , "Shape", 17);
		bar = _ObjectCallMethod( bars , "Add", "Task:Empty");
			_ObjectSetProperty( bar , "Shortcut", "Task");
			_ObjectSetProperty( bar , "HistogramItems", -5);
			_ObjectSetProperty( bar , "HistogramCriticalValue", 3);
			_ObjectSetProperty( bar , "HistogramType", 0);
			_ObjectSetProperty( bar , "HistogramPattern", _ObjectGetProperty( bar , "Pattern"));
			_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
			_ObjectCallMethod(g2antt, "TemplatePut", bar)
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=%258%> working days bar`");
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(20) = True");
	_ObjectSetProperty( chart , "UnitWidthNonworking", -12);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1).FormatLabel = `weekday(dvalue) in (0,6) ? `` : value`");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task A"),"Task","6/23/2005","6/29/2005","");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task B"),"Task","6/24/2005","6/28/2005","");
_ObjectCallMethod( g2antt , "EndUpdate");

1379
I'm showing values from a ado recordset from sql 2005. When I try to edit a column with integers, it just skips back to the original numbers after pressing enter..., why
// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

// Error event - Fired when an internal error occurs.
FUNCTION g2anttEvents_Error(OBJECT g2antt, INT Error, STRING Description)
	Message( Error );
	Message( Description );
END

OBJECT chart,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/3/1994");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	_ObjectSetProperty( chart , "OverviewVisible", 2);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",1,1);
_ObjectSetProperty( g2antt , "DataSource", rs);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1378
Is it possible to reduce the non-working parts of the control

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 40");
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/20/2005");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 64);
	_ObjectSetProperty( chart , "HistogramView", 112);
	_ObjectSetProperty( chart , "LevelCount", 2);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "HistogramType", 1);
		_ObjectSetProperty( bar , "HistogramPattern", _ObjectGetProperty( bar , "Pattern"));
	_ObjectSetProperty( chart , "UnitWidthNonworking", -8);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1).FormatLabel = `weekday(dvalue) in (0,6) ? `` : value`");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/23/2005","6/29/2005","","4 working days bar");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,10) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,4) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,21) = 4");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,20) = True");
	h = _ObjectCallMethod( items , "AddItem", "Task B");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/28/2005","6/30/2005","","2 working days bar");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,10) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,4) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,21) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,20) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1377
I don't want to see the "schedule"/show "workload" in non-working days part of the histogram

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 40");
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/20/2005");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 64);
	_ObjectSetProperty( chart , "HistogramView", 112);
	_ObjectSetProperty( chart , "LevelCount", 2);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "HistogramType", 1);
		_ObjectSetProperty( bar , "HistogramPattern", _ObjectGetProperty( bar , "Pattern"));
	_ObjectSetProperty( chart , "ShowNonworkingDates", 0);
	_ObjectSetProperty( chart , "ShowNonworkingUnits", 0);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/23/2005","6/29/2005","","4 working days bar");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,10) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,4) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,21) = 4");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,20) = True");
	h = _ObjectCallMethod( items , "AddItem", "Task B");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/28/2005","6/30/2005","","2 working days bar");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,10) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,4) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,21) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,20) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1376
The control shows, and handles non-working days PERFECT, but how is it possible to reflect this in the Histogram. I don't want to "schedule"/show "workload" in non-working days...

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 40");
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/20/2005");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 64);
	_ObjectSetProperty( chart , "HistogramView", 112);
	_ObjectSetProperty( chart , "LevelCount", 2);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "HistogramType", 1);
		_ObjectSetProperty( bar , "HistogramPattern", _ObjectGetProperty( bar , "Pattern"));
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/23/2005","6/29/2005","","4 working days bar");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,10) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,4) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,21) = 4");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,20) = True");
	h = _ObjectCallMethod( items , "AddItem", "Task B");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/28/2005","6/30/2005","","2 working days bar");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,10) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,4) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,21) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,20) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1375
When I do select the button in the overview-zoom I want the scaling to change accordingly. Can I set different scales per selected zoom level

// OverviewZoom event - Occurs once the user selects a new time scale unit in the overview zoom area.
FUNCTION g2anttEvents_OverviewZoom()
	Message( _ObjectGetProperty( _ObjectGetProperty( g2antt , "Chart") , "UnitScale") );
END

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "OverviewVisible", 2);
	_ObjectSetProperty( chart , "AllowOverviewZoom", 1);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(16777216) = ``");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(0) = ``");

1374
How do I display Icons instead of text in the overview zoom area

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "OverviewVisible", 2);
	_ObjectSetProperty( chart , "AllowOverviewZoom", 1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(16777216) = ``");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(0) = ``");
	Message( _ObjectGetProperty( chart , "OverviewZoomCaption") );
	_ObjectSetProperty( chart , "OverviewZoomCaption", "Year|½Year|¼Year|Month|Third|<img>1</img>|Day|Hour|Min|Sec");

1373
How do I get it to only display Min, Hour, Day, Week , Month, ie remove Sec and Year in the overview area
OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "OverviewVisible", 2);
	_ObjectSetProperty( chart , "AllowOverviewZoom", 1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(16777216) = ``");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(0) = ``");

1372
Is it possible to show quarter hours markers

OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "GridLineColor", 0);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 3,"gBFLBCJwBAEHhEJAEGg4BdMIQAAYAQGKIYBkAKBQAGaAoDDUNw5QwAAwjSKkEwsACEIrjKCRShyCYZRhGcTAFBMIhkGoSZKlCIRVDCKYJDbKACSFKkNQ7AabZBgOQJV" +
	"gOKovThKcIybQAASJCKRY7nUIIJA+SoDSRAbqhYIgASnKqLJAkACIJJAaRjHQdJxGKKMQANBghCZseKhWgkKIJUxAdLTWAAMQuaCoZ5icRAca2fJ+XzfeBYDgmAYNQbD" +
	"cJhHCMMwXDaJZBiGJ4dimI4rR7JIDzDJ8cxbEKTZ5meg5boGRZNTrMQA0fQ9MynK6vahfOi7DpuaZnWrcMb2fYNZwrGq0bxoW58BwmP5/XrkNa4XgcVgmAUBA");
_ObjectSetProperty( g2antt , "HeaderHeight", 20);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 65536);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Alignment", 16);
		_ObjectSetProperty( level , "Label", "<%dddd%>, <%mmmm%> <b><%d%></b>, <%yyyy%>");
		_ObjectSetProperty( level , "DrawTickLines", 2);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1)");
		_ObjectSetProperty( level , "Label", "<%hh%>:00");
		_ObjectSetProperty( level , "BackColor", 50331648);
		_ObjectSetProperty( level , "DrawTickLines", 2);
	_ObjectSetProperty( chart , "DrawLevelSeparator", 2);
	_ObjectSetProperty( chart , "UnitWidth", 64);
	_ObjectSetProperty( chart , "ResizeUnitScale", 1048576);
	_ObjectSetProperty( chart , "ResizeUnitCount", 15);
_ObjectCallMethod( g2antt , "EndUpdate");

1371
How can I ensure or always show the labels on the chart part, when scrolling the chart to left or right
OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitWidth", 48);
	_ObjectSetProperty( chart , "UnitScale", 65536);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Alignment", 17);
		_ObjectSetProperty( level , "Label", "<%dddd%>, <%mmmm%> <b><%d%></b>, <%yyyy%>");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1).Label = `<%hh%>:00`");
_ObjectCallMethod( g2antt , "EndUpdate");

1370
I associate the Start and End columns with bars, but some of them are not shown. What am I doing wrong
OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/25/2000");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Start");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = `K1`");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "End");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = `K1`");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", ),"Task","1/1/2001","1/5/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", ),"Task","1/2/2001","1/6/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", ),"Task","1/3/2001","1/7/2001","????","????");
_ObjectCallMethod( g2antt , "EndUpdate");

1369
How can I implement OLE Drag and Drop operation
// OLEStartDrag event - Occurs when the OLEDrag method is called.
FUNCTION g2anttEvents_OLEStartDrag(OBJECT g2antt, OBJECT Data, INT AllowedEffects)
	' Data.SetData("your data to drag")
	AllowedEffects = 2;
END

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddItem", "Item 3");
	_ObjectCallMethod( items , "AddItem", "Item 4");
	_ObjectCallMethod( items , "AddItem", "Item 5");
_ObjectSetProperty( g2antt , "OLEDropMode", 1);
_ObjectCallMethod( g2antt , "EndUpdate");

1368
I can not associate the bar's start and end properties with my start/end columns, only if the bar's key is empty or null. What can I do

// ButtonClick event - Occurs when user clicks on the cell's button.
FUNCTION g2anttEvents_ButtonClick(OBJECT g2antt, INT Item, INT ColIndex, VARIANT Key)
	OBJECT columns,items;
	_ObjectCallMethod( g2antt , "BeginUpdate");
	columns = _ObjectGetProperty( g2antt , "Columns");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", columns)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Item(`Tasks`).Def(19) = `B`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Item(`Start`).Def(19) = `B`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Item(`End`).Def(19) = `B`");
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,1) = `B`");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`B`,33) = 0");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`A`,33) = 16775408");
	_ObjectCallMethod( g2antt , "EndUpdate");
END

OBJECT bar,chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Tasks");
		_ObjectSetProperty( column , "Width", 32);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 3");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = `A`");
	column = _ObjectCallMethod( columns , "Add", "Start");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 1");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = `A`");
		_ObjectSetProperty( _ObjectGetProperty( column , "Editor") , "EditType", 7);
	column = _ObjectCallMethod( columns , "Add", "End");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 2");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = `A`");
		_ObjectSetProperty( _ObjectGetProperty( column , "Editor") , "EditType", 7);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectSetProperty( chart , "AllowLinkBars", -1);
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 196");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "Pattern", 6);
		_ObjectSetProperty( bar , "OverlaidType", 515);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Overlaid(256) = 80");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItemCount(0) = 1");
	h = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItem(0,0)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,0) = `Select`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasButton(h,0) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellMerge(h,1) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `A`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,1).EditType = 1");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectSetProperty( items , "AllowCellValueToItemBar", -1);
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Task","9/21/2006","9/24/2006","A","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","9/25/2006","9/28/2006","B","B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`B`,33) = 16775408");
	h = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h,"Task","9/22/2006","9/25/2006","A","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","9/26/2006","9/29/2006","B","B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`B`,33) = 16775408");
_ObjectCallMethod( g2antt , "EndUpdate");

1367
How can I determine the order of the events
// AddLink event - Occurs when the user links two bars using the mouse.
FUNCTION g2anttEvents_AddLink(OBJECT g2antt, STRING LinkKey)
	Message( "AddLink" );
	Message( LinkKey );
END

// AfterExpandItem event - Fired after an item is expanded (collapsed).
FUNCTION g2anttEvents_AfterExpandItem(OBJECT g2antt, INT Item)
	Message( "AfterExpandItem" );
	Message( Item );
END

// AllowLink event - Notifies at runtime when a link between two bars is possible.
FUNCTION g2anttEvents_AllowLink(OBJECT g2antt, INT StartItem, VARIANT StartBarKey, INT EndItem, VARIANT EndBarKey, VARIANT LinkKey, INT Cancel)
	Message( "AllowLink" );
	Message( StartItem );
	Message( StartBarKey );
	Message( EndItem );
	Message( EndBarKey );
	Message( LinkKey );
END

// AnchorClick event - Occurs when an anchor element is clicked.
FUNCTION g2anttEvents_AnchorClick(OBJECT g2antt, STRING AnchorID, STRING Options)
	Message( "AnchorClick" );
	Message( AnchorID );
	Message( Options );
END

// BarParentChange event - Occurs just before moving a bar from current item to another item.
FUNCTION g2anttEvents_BarParentChange(OBJECT g2antt, INT Item, VARIANT Key, INT NewItem, INT Cancel)
	Message( "BarParentChange" );
	Message( Item );
	Message( Key );
	Message( NewItem );
END

// BarResize event - Occurs when a bar is moved or resized.
FUNCTION g2anttEvents_BarResize(OBJECT g2antt, INT Item, VARIANT Key)
	Message( "BarResize" );
	Message( Item );
	Message( Key );
END

// BarResizing event - Occurs when a bar is moving or resizing.
FUNCTION g2anttEvents_BarResizing(OBJECT g2antt, INT Item, VARIANT Key)
	Message( "BarResizing" );
	Message( Item );
	Message( Key );
END

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
FUNCTION g2anttEvents_BeforeExpandItem(OBJECT g2antt, INT Item, VARIANT Cancel)
	Message( "BeforeExpandItem" );
	Message( Item );
END

// ButtonClick event - Occurs when user clicks on the cell's button.
FUNCTION g2anttEvents_ButtonClick(OBJECT g2antt, INT Item, INT ColIndex, VARIANT Key)
	Message( "ButtonClick" );
	Message( Item );
	Message( ColIndex );
	Message( Key );
END

// CellImageClick event - Fired after the user clicks on the image's cell area.
FUNCTION g2anttEvents_CellImageClick(OBJECT g2antt, INT Item, INT ColIndex)
	Message( "CellImageClick" );
	Message( Item );
	Message( ColIndex );
END

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION g2anttEvents_CellStateChanged(OBJECT g2antt, INT Item, INT ColIndex)
	Message( "CellStateChanged" );
	Message( Item );
	Message( ColIndex );
END

// Change event - Occurs when the user changes the cell's content.
FUNCTION g2anttEvents_Change(OBJECT g2antt, INT Item, INT ColIndex, VARIANT NewValue)
	Message( "Change" );
	Message( Item );
	Message( ColIndex );
	Message( NewValue );
END

// ChartEndChanging event - Occurs after the chart has been changed.
FUNCTION g2anttEvents_ChartEndChanging(OBJECT g2antt, INT Operation)
	Message( "ChartEndChanging" );
	Message( Operation );
END

// ChartSelectionChanged event - Occurs when the user selects objects in the chart area.
FUNCTION g2anttEvents_ChartSelectionChanged()
	Message( "ChartSelectionChanged" );
END

// ChartStartChanging event - Occurs when the chart is about to be changed.
FUNCTION g2anttEvents_ChartStartChanging(OBJECT g2antt, INT Operation)
	Message( "ChartStartChanging" );
	Message( Operation );
END

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
FUNCTION g2anttEvents_Click()
	Message( "Click" );
END

// ColumnClick event - Fired after the user clicks on column's header.
FUNCTION g2anttEvents_ColumnClick(OBJECT g2antt, OBJECT Column)
	Message( "ColumnClick" );
END

// CreateBar event - Fired when the user creates a new bar.
FUNCTION g2anttEvents_CreateBar(OBJECT g2antt, INT Item, REAL DateStart, REAL DateEnd)
	Message( "CreateBar" );
	Message( Item );
	Message( DateStart );
	Message( DateEnd );
END

// DateChange event - Occurs when the first visible date is changed.
FUNCTION g2anttEvents_DateChange()
	Message( "DateChange" );
END

// DblClick event - Occurs when the user dblclk the left mouse button over an object.
FUNCTION g2anttEvents_DblClick(OBJECT g2antt, INT Shift, INT X, INT Y)
	Message( "DblClick" );
	Message( Shift );
	Message( X );
	Message( Y );
	_ObjectCallMethod( g2antt , "Edit", );
END

// Edit event - Occurs just before editing the focused cell.
FUNCTION g2anttEvents_Edit(OBJECT g2antt, INT Item, INT ColIndex, INT Cancel)
	Message( "Edit" );
	Message( Item );
	Message( ColIndex );
END

// EditClose event - Occurs when the edit operation ends.
FUNCTION g2anttEvents_EditClose()
	Message( "EditClose" );
END

// EditOpen event - Occurs when the edit operation starts.
FUNCTION g2anttEvents_EditOpen()
	Message( "EditOpen" );
END

// FilterChange event - Occurs when the filter was changed.
FUNCTION g2anttEvents_FilterChange()
	Message( "FilterChange" );
END

// FilterChanging event - Notifies your application that the filter is about to change.
FUNCTION g2anttEvents_FilterChanging()
	Message( "FilterChanging" );
END

// FocusChanged event - Occurs when a cell gets the focus.
FUNCTION g2anttEvents_FocusChanged()
	Message( "FocusChanged" );
END

// InsideZoom event - Notifies your application that a date is about to be magnified.
FUNCTION g2anttEvents_InsideZoom(OBJECT g2antt, REAL DateTime)
	Message( "InsideZoom" );
	Message( DateTime );
END

// KeyDown event - Occurs when the user presses a key while an object has the focus.
FUNCTION g2anttEvents_KeyDown(OBJECT g2antt, INT KeyCode, INT Shift)
	Message( "KeyDown" );
	Message( KeyCode );
	Message( Shift );
END

// KeyPress event - Occurs when the user presses and releases an ANSI key.
FUNCTION g2anttEvents_KeyPress(OBJECT g2antt, INT KeyAscii)
	Message( "KeyPress" );
	Message( KeyAscii );
END

// KeyUp event - Occurs when the user releases a key while an object has the focus.
FUNCTION g2anttEvents_KeyUp(OBJECT g2antt, INT KeyCode, INT Shift)
	Message( "KeyUp" );
	Message( KeyCode );
	Message( Shift );
END

// LayoutChanged event - Occurs when column's position or column's size is changed.
FUNCTION g2anttEvents_LayoutChanged()
	Message( "LayoutChanged" );
END

// MouseDown event - Occurs when the user presses a mouse button.
FUNCTION g2anttEvents_MouseDown(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	Message( "MouseDown" );
	Message( Button );
	Message( Shift );
	Message( X );
	Message( Y );
END

// MouseMove event - Occurs when the user moves the mouse.
FUNCTION g2anttEvents_MouseMove(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
END

// MouseUp event - Occurs when the user releases a mouse button.
FUNCTION g2anttEvents_MouseUp(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	Message( "MouseUp" );
	Message( Button );
	Message( Shift );
	Message( X );
	Message( Y );
END

// OffsetChanged event - Occurs when the scroll position has been changed.
FUNCTION g2anttEvents_OffsetChanged(OBJECT g2antt, INT Horizontal, INT NewVal)
	Message( "OffsetChanged" );
	Message( Horizontal );
	Message( NewVal );
END

// OversizeChanged event - Occurs when the right range of the scroll has been changed.
FUNCTION g2anttEvents_OversizeChanged(OBJECT g2antt, INT Horizontal, INT NewVal)
	Message( "OversizeChanged" );
	Message( Horizontal );
	Message( NewVal );
END

// OverviewZoom event - Occurs once the user selects a new time scale unit in the overview zoom area.
FUNCTION g2anttEvents_OverviewZoom()
	Message( "OverviewZoom" );
END

// RClick event - Fired when right mouse button is clicked
FUNCTION g2anttEvents_RClick()
	Message( "RClick" );
END

// ScrollButtonClick event - Occurs when the user clicks a button in the scrollbar.
FUNCTION g2anttEvents_ScrollButtonClick(OBJECT g2antt, INT ScrollBar, INT ScrollPart)
	Message( "ScrollButtonClick" );
	Message( ScrollBar );
	Message( ScrollPart );
END

// SelectionChanged event - Fired after a new item has been selected.
FUNCTION g2anttEvents_SelectionChanged()
	Message( "SelectionChanged" );
END

// Sort event - Fired when the control sorts a column.
FUNCTION g2anttEvents_Sort()
	Message( "Sort" );
END

OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( g2antt , "GridLineStyle", 4);
_ObjectSetProperty( g2antt , "AutoEdit", 0);
_ObjectSetProperty( g2antt , "ExpandOnDblClick", 0);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "AllowInsideZoom", -1);
	_ObjectSetProperty( chart , "OverviewVisible", 2);
	_ObjectSetProperty( chart , "AllowOverviewZoom", 1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectSetProperty( chart , "GridLineStyle", 36);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0).DrawGridLines = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Pattern = 1");
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(16777216) = ``");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(1048576) = ``");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(65536) = ``");
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Column");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( _ObjectGetProperty( column , "Editor") , "EditType", 1);
	column = _ObjectCallMethod( columns , "Add", "Button");
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "Width", 18);
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(2) = True");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "parent");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellImage(h,0) = 1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/5/2001","A","<a>A</a>");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A`,4) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A`,28) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A`,6) = `This is a bit of text that should be shown when cursor hovers the bar`");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/15/2001","B","<a>B</a>");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`B`,4) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`B`,28) = True");
	_ObjectCallMethod( items , "InsertItem", h,"","child");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1366
How can I change the chart's horizontal grid lines
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "GridLineStyle", 4);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectSetProperty( chart , "GridLineStyle", 36);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0).DrawGridLines = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Pattern = 1");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/5/2001","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/15/2001","B");
_ObjectCallMethod( g2antt , "EndUpdate");

1365
Is there any way to determine whether the ADO operations fails
// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

// Error event - Fired when an internal error occurs.
FUNCTION g2anttEvents_Error(OBJECT g2antt, INT Error, STRING Description)
	Message( Error );
	Message( Description );
END

OBJECT chart,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/3/1994");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	_ObjectSetProperty( chart , "OverviewVisible", 2);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",1,1);
_ObjectSetProperty( g2antt , "DataSource", rs);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1364
Is it possible to select a column instead sorting it
// ColumnClick event - Fired after the user clicks on column's header.
FUNCTION g2anttEvents_ColumnClick(OBJECT g2antt, OBJECT Column)
	' Column.Selected = True
	_ObjectCallMethod( g2antt , "BeginUpdate");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0).Selected = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(1).Selected = False");
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "SelectAll");
	_ObjectCallMethod( g2antt , "EndUpdate");
END

OBJECT columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
_ObjectSetProperty( g2antt , "SingleSel", 0);
_ObjectSetProperty( g2antt , "FullRowSelect", 1);
_ObjectSetProperty( g2antt , "SortOnClick", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column1");
	_ObjectCallMethod( columns , "Add", "Column2");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`One`),1) = `Three`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Two`),1) = `Four`");
	_ObjectCallMethod( items , "SelectAll");
_ObjectCallMethod( g2antt , "EndUpdate");

1363
I am using the exRectSel, and clicking the first column, has no effect, instead if I click other it works as it should
OBJECT columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "SearchColumnIndex", -1);
_ObjectSetProperty( g2antt , "FullRowSelect", 1);
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column1");
	_ObjectCallMethod( columns , "Add", "Column2");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(1),1) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(3),1) = 4");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(5),1) = 6");
_ObjectCallMethod( g2antt , "EndUpdate");

1362
Is it possible to display empty strings for 0 values
OBJECT column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Currency");
	_ObjectSetProperty( column , "FormatColumn", "dbl(value) ? currency(dbl(value)) : ``");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 1);
		_ObjectSetProperty( editor , "Numeric", 1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", 1.23);
	_ObjectCallMethod( items , "AddItem", 2.34);
	_ObjectCallMethod( items , "AddItem", 0);
	_ObjectCallMethod( items , "AddItem", 10000.99);

1361
Is it possible to display empty strings for 0 values
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Number");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Currency") , "ComputedField", "%0 ? currency(%0) : ``");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", 1.23);
	_ObjectCallMethod( items , "AddItem", 2.34);
	_ObjectCallMethod( items , "AddItem", 0);
	_ObjectCallMethod( items , "AddItem", 10000.99);

1360
How can I hide a date from the chart view, when I display hours instead days

OBJECT chart,g2antt,insidezooms,level;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "HeaderHeight", 32);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/8/2011");
	_ObjectSetProperty( chart , "AdjustLevelsToBase", -1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "AllowInsideZoom", -1);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Alignment", 1);
		_ObjectSetProperty( level , "Label", "<b><%d%>-<%mmm%>-<%yyyy%>");
		_ObjectSetProperty( level , "Unit", 4096);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1)");
		_ObjectSetProperty( level , "Label", "<%h%>");
		_ObjectSetProperty( level , "Count", 8);
		_ObjectSetProperty( level , "Unit", 65536);
		_ObjectSetProperty( level , "FormatLabel", "date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>23/20'; 8 : 'Shift <b>2</b><br>38/30' ; 16 : '" +
	"Shift <b>3</b><br>24/24' ) ) ; #06/09/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>15/20'; 8 : 'Shift <b>2</b><br>30/32' ; " +
	"16 : 'Shift <b>3</b><br>26/24' ) ) )");
	_ObjectSetProperty( chart , "UnitWidth", 64);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectSetProperty( chart , "AllowInsideZoom", -1);
	_ObjectSetProperty( _ObjectGetProperty( chart , "DefaultInsideZoomFormat") , "InsideUnit", 1048576);
	_ObjectSetProperty( chart , "AllowResizeInsideZoom", 0);
	_ObjectSetProperty( chart , "InsideZoomOnDblClick", 0);
	insidezooms = _ObjectGetProperty( chart , "InsideZooms");
		_ObjectSetProperty( insidezooms , "SplitBaseLevel", 0);
		_ObjectSetProperty( insidezooms , "DefaultWidth", 0);
	insidezooms = _ObjectGetProperty( chart , "InsideZooms");
		_ObjectCallMethod( insidezooms , "Add", "6/9/2011 8:00:00 AM");
		_ObjectCallMethod( insidezooms , "Add", "6/9/2011 4:00:00 PM");
_ObjectCallMethod( g2antt , "EndUpdate");

1359
I’ve created a skin (EBN) for the bars of my chart, with rounded top corners. The problem, is that these rounded corners are applied also at beginning and the end of the non working units. Is it possible to show a different picture/skin for the non-working part of the bars

OBJECT bars,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"c:\exontrol\images\normal.ebn");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 2,"c:\exontrol\images\pushed.ebn");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(False) = 128");
bars = _ObjectGetProperty( _ObjectGetProperty( g2antt , "Chart") , "Bars");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
	_ObjectCallMethod(g2antt, "TemplatePut", bars)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Item(`Task`).Color = 16777216");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Item(`Split`).Color = 33554432");
	_ObjectSetProperty( _ObjectCallMethod( bars , "Add", "Task:Split") , "Shortcut", "TS");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "FirstVisibleDate", "1/1/2001");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task"),"TS","1/2/2001","1/16/2001");
_ObjectCallMethod( g2antt , "EndUpdate");

1358
How do I display the names of the tasks on bars but not in the middle of the bar (left or right)

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/27/2000");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "Pattern", 2);
		_ObjectSetProperty( bar , "Height", 15);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/8/2001","K1","<b>to do</b> ");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,4) = 2");
	h = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/8/2001","K2","<b>to do</b>");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K2`,4) = 18");
	h = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/8/2001","K1"," <b>to do</b>");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,4) = 0");
	h = _ObjectCallMethod( items , "AddItem", "Task 4");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/8/2001","K2","<b>to do</b>");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K2`,4) = 16");
_ObjectCallMethod( g2antt , "EndUpdate");

1357
How can I get the list of items as they are displayed
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "BackColorAlternate", 15790320);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Names");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Mantel");
	_ObjectCallMethod( items , "AddItem", "Mechanik");
	_ObjectCallMethod( items , "AddItem", "Motor");
	_ObjectCallMethod( items , "AddItem", "Murks");
	_ObjectCallMethod( items , "AddItem", "Märchen");
	_ObjectCallMethod( items , "AddItem", "Möhren");
	_ObjectCallMethod( items , "AddItem", "Mühle");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0).SortOrder = 1");
_ObjectCallMethod( g2antt , "EndUpdate");
Message( _ObjectCallMethod( g2antt , "GetItems", 1) );

1356
How can I disable the left and right arrows to move to next cell while editing
OBJECT g2antt,items,var_editor;

g2antt =  ObjectByName("AN1") ;
var_Editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Edit") , "Editor");
var_editor = var_Editor;
	_ObjectSetProperty( var_editor , "EditType", 1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim varObj")
	_ObjectCallMethod(g2antt, "TemplatePut", var_editor)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "varObj.Option(20) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "varObj.Option(21) = 0");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Cell 1");
	_ObjectCallMethod( items , "AddItem", "Cell 2");
	_ObjectCallMethod( items , "AddItem", "Cell 3");

1355
Is it possible to define a bar that is treated as a non-working hour so user can move it at runtime

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "AllowNonworkingBars", -1);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task:Split") , "Shortcut", "Task");
	_ObjectSetProperty( chart , "UnitScale", 65536);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1).Label = `<font ;4><%hh%>`");
	_ObjectSetProperty( chart , "UnitWidth", 12);
	_ObjectSetProperty( chart , "NonworkingDaysPattern", 6);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Machine");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = `0`");
	_ObjectCallMethod( items , "AddBar", h,"","1/1/2001 9:00:00 AM","1/1/2001 11:00:00 AM","A","pause");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A`,38) = True");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/1/2001 12:00:00 PM","1/1/2001 5:00:00 PM","Z");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`Z`,20) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1354
Is it possible to customize the chart's header so I can display shift and other values

OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "HeaderHeight", 32);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/8/2011");
	_ObjectSetProperty( chart , "AdjustLevelsToBase", -1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Alignment", 1);
		_ObjectSetProperty( level , "Label", "<b><%d%> - <%mmmm%> - <%yyyy%>");
		_ObjectSetProperty( level , "Unit", 4096);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1)");
		_ObjectSetProperty( level , "Label", "<%h%>");
		_ObjectSetProperty( level , "Count", 8);
		_ObjectSetProperty( level , "Unit", 65536);
		_ObjectSetProperty( level , "FormatLabel", "date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>23/20'; 8 : 'Shift <b>2</b><br>38/30' ; 16 : '" +
	"Shift <b>3</b><br>24/24' ) ) ; #06/09/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>15/20'; 8 : 'Shift <b>2</b><br>30/32' ; " +
	"16 : 'Shift <b>3</b><br>26/24' ) ) )");
	_ObjectSetProperty( chart , "UnitWidth", 64);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
_ObjectCallMethod( g2antt , "EndUpdate");

1353
How can I change both start and end dates of the bar
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 64");
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/19/2005");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Test");
	_ObjectCallMethod( items , "AddBar", h,"Task","6/22/2005","6/27/2005","t1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod( items , "AddBar", h,_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`t1`,0)"),"6/21/2005","6/22/2005","t1");
_ObjectCallMethod( g2antt , "EndUpdate");

1352
Is it possible to add new rows, as I type like in Excel
// EditClose event - Occurs when the edit operation ends.
FUNCTION g2anttEvents_EditClose()
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddItem", "");
END

OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "AutoEdit", -1);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default") , "Editor") , "EditType", 1);
_ObjectSetProperty( g2antt , "FullRowSelect", 0);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddItem", "");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "ScrollBars", 15);
_ObjectCallMethod( g2antt , "EndUpdate");

1351
How do I load bars from my table/database
// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

OBJECT chart,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/3/1994");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	_ObjectSetProperty( chart , "OverviewVisible", 2);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( g2antt , "DataSource", rs);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1350
Is posible to reduce the size of the picture to be shown in the bar's caption

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "HTMLPicture(`pic1`) = `c:\exontrol\images\zipdisk.gif`");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 78");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Default-Size");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 48");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/6/2001","K1","<img>pic1</img>");
	h = _ObjectCallMethod( items , "AddItem", "Custom-Size");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/6/2001","K2","<img>pic1:18</img>");
_ObjectCallMethod( g2antt , "EndUpdate");

1349
Is posible to reduce the size of the picture to be shown in the column's caption
OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "HTMLPicture(`pic1`) = `c:\exontrol\images\zipdisk.gif`");
_ObjectSetProperty( g2antt , "HeaderHeight", 48);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "DefaultSize") , "HTMLCaption", "Default-Size <img>pic1</img> Picture");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "CustomSize") , "HTMLCaption", "Custom-Size <img>pic1:16</img> Picture");
_ObjectCallMethod( g2antt , "EndUpdate");

1348
Is it possible to display the selected dates using a solid color instead vertical lines

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2008");
	_ObjectSetProperty( chart , "MarkTodayColor", _ObjectGetProperty( chart , "BackColor"));
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "MarkSelectDateColor", 2144059647);
	_ObjectSetProperty( chart , "SelectLevel", 1);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.SelectDate(#1/8/2008#) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.SelectDate(#1/9/2008#) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.SelectDate(#1/10/2008#) = True");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 72);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", ""),"","1/7/2008","1/12/2008","","<b>MarkSelectDateColor(32)</b><br>should be <font ;11><i>0x7F000000 + RGB(rr,gg,bb)</i></font><br> or in the format as: <font ;" +
	"11><i>0x7FBBGGRR</i></font>, <br>where BB is the hexa value for Blue, <br>GG for grean and so on.");
_ObjectCallMethod( g2antt , "EndUpdate");

1347
How can I show the cells using a different background color based on the condition I have
OBJECT columns,conditionalformat,conditionalformats,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "SelBackMode", 1);
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
conditionalformats = _ObjectGetProperty( g2antt , "ConditionalFormats");
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "dbl(%1)-dbl(%0) = 1");
		_ObjectSetProperty( conditionalformat , "BackColor", 255);
		_ObjectSetProperty( conditionalformat , "ApplyTo", 1);
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "dbl(%0)-dbl(%1) = 3");
		_ObjectSetProperty( conditionalformat , "BackColor", 65535);
		_ObjectSetProperty( conditionalformat , "ApplyTo", 0);
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "dbl(%1)-dbl(%0) = 4");
		_ObjectSetProperty( conditionalformat , "ForeColor", 8421504);
		_ObjectSetProperty( conditionalformat , "Bold", -1);
		_ObjectSetProperty( conditionalformat , "ApplyTo", -1);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C1") , "Width", 8);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C2") , "Width", 8);
	_ObjectCallMethod( columns , "Add", "");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(2),1) = 3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(5),1) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(5),1) = 6");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(2),1) = 6");
_ObjectCallMethod( g2antt , "EndUpdate");

1346
How can I specify the frame's color for all Task bars

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Def(51) = 255");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","1/2/2001","1/5/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 2"),"Task","1/2/2001","1/5/2001","K2");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 3"),"Task","1/2/2001","1/5/2001","K3");
_ObjectCallMethod( g2antt , "EndUpdate");

1345
Is it possible to change the bar's frame color

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 25);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Height = 15");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Default");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/5/2001","K1");
	h = _ObjectCallMethod( items , "AddItem", "Red-Frame");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/6/2001","K1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,51) = 255");
	h = _ObjectCallMethod( items , "AddItem", "Green-ThickFrame");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2001","1/7/2001","K1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,42) = 4099");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,51) = 32768");
	h = _ObjectCallMethod( items , "AddItem", "Red-ThickFrame/Shadow");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2001","1/8/2001","K1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,42) = 12291");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,51) = 255");
_ObjectCallMethod( g2antt , "EndUpdate");

1344
I need to customize the labels on the chart. Is it possible

OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "HeaderHeight", 32);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "7/1/2011");
	_ObjectSetProperty( chart , "AdjustLevelsToBase", -1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Alignment", 1);
		_ObjectSetProperty( level , "Label", "<b><%d%> - <%mmmm%> - <%yyyy%>");
		_ObjectSetProperty( level , "Unit", 4096);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1)");
		_ObjectSetProperty( level , "Label", "<%h%>");
		_ObjectSetProperty( level , "Count", 8);
		_ObjectSetProperty( level , "Unit", 65536);
		_ObjectSetProperty( level , "FormatLabel", "int(value) case ( 0 : 'Shift <b>1</b><br><font ;11>' + yearday(dvalue) + '</font>/365 ' ; 8 : 'Shift <b>2</b><br>' + weekday(dv" +
	"alue) + '/20'; 16 : 'Shift <b>3</b><br>' + (weekday(dvalue) case ( 0 : '12/22'; 1 : '12/23'; 2 : '2/3'; 3 : '12/13'; 4 : '22/34'" +
	" ; 5 : '102-<fgcolor=FF0000><b>31</b></bgcolor>'; 6 : '1/1' ) )  ) ");
	_ObjectSetProperty( chart , "UnitWidth", 64);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
_ObjectCallMethod( g2antt , "EndUpdate");

1343
Is it possible to show a frame around the bar

OBJECT appearance,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 25);
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAEGg4BOUMQAAYAQGKIYBkAKBQAGaAoDDYMgzQwAAxDELMEwsACEIrjKCVIgkHYJRjGEZxMAsEwjAoaQChEZRUhEMgxDDIIyAJIcaw0GSEZwgOQZB" +
	"iOEYnDANkIYJDSIYHTZIUzTJAdGSVJKNKAoKCaEgORo5SpNUghBDYKQTJyeagkaaRVCWLplRCNIwWNJdVwjEaQaaiarKNqKNpSViAEqSdKEZRLOyRZyiKQMEreY4EUDQ" +
	"cxUPYMNYaAC6AAparpbwCFpSYpRND3TaEE4jSLKAA0HD6QqebIDDJaFq6PbVXSTOLPNhgPQcWxeVJBXjLExUALGSYLC6nKayHZcHACKK5VbVW6ZZDdNy/BLQeD4QANG4" +
	"riuNJriMV4dgWVgHh+ZpgCeEIQEQJIgGkMYdA6JwjC0VAAmaJgQgmPp4lCWgSCiaB+DKIYIjqQpllMf6JgYAoAmASAWAaAZggQDJ/gKYJIDYDoDmECBGAOBBhEgVgUgS" +
	"YRoGYGYGCGKB2BCBwhmiBgLggIgoHoJIJGGKIeCiBYiiiLgXgCIpohoMIMGKGJODSCwghiZg6g6Y5InYPh/lAECAg");
	_ObjectCallMethod( appearance , "Add", 2,"CP:1 2 2 -2 -2");
	_ObjectCallMethod( appearance , "Add", 3,"CP:1 -5 -5 5 5");
	_ObjectCallMethod( appearance , "Add", 4,"XP:Window 19 1");
	_ObjectCallMethod( appearance , "Add", 5,"XP:TreeView 2 1");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "DrawGridLines", 1);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Default");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/5/2001","K1");
	h = _ObjectCallMethod( items , "AddItem", "Red-Frame");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/6/2001","K1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,51) = 255");
	h = _ObjectCallMethod( items , "AddItem", "Green-ThickFrame");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2001","1/7/2001","K1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,42) = 4099");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,51) = 32768");
	h = _ObjectCallMethod( items , "AddItem", "Red-ThickFrame/Shadow");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2001","1/7/2001","K1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,42) = 12291");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,51) = 255");
	h = _ObjectCallMethod( items , "AddItem", "EBN-Frame-Border");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2001","1/9/2001","K2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K2`,51) = 16777216");
	h = _ObjectCallMethod( items , "AddItem", "EBN-Inside Frame");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/9/2001","1/13/2001","K3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K3`,51) = 33554432");
	h = _ObjectCallMethod( items , "AddItem", "EBN-Outside Frame");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/15/2001","1/18/2001","K4");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K4`,51) = 50331648");
	h = _ObjectCallMethod( items , "AddItem", "EBN-XP Close Button");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/15/2001","1/18/2001","K5");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K5`,51) = 67108864");
	h = _ObjectCallMethod( items , "AddItem", "EBN-XP TreeView Glyph");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/15/2001","1/18/2001","K6");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K6`,51) = 83886080");
_ObjectCallMethod( g2antt , "EndUpdate");

1342
Currently your control, provides customization up to Year,Month,Day,Hours,etc. I would like to add Shifts in a day. Shortly, I need to customize the chart's header. Is it possible

OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "7/1/2011");
	_ObjectSetProperty( chart , "AdjustLevelsToBase", -1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Alignment", 1);
		_ObjectSetProperty( level , "Label", "<b><%d%> - <%mmmm%> - <%yyyy%>");
		_ObjectSetProperty( level , "Unit", 4096);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1)");
		_ObjectSetProperty( level , "Label", "<%h%>");
		_ObjectSetProperty( level , "Count", 8);
		_ObjectSetProperty( level , "Unit", 65536);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim levObj")
		_ObjectCallMethod(g2antt, "TemplatePut", level)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "levObj.ReplaceLabel(0) = ` Shift 1`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "levObj.ReplaceLabel(8) = ` Shift 2`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "levObj.ReplaceLabel(16) = ` Shift 3`");
	_ObjectSetProperty( chart , "UnitWidth", 48);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
_ObjectCallMethod( g2antt , "EndUpdate");

1341
The exbartootip shows dates after you moved or resized the bar. My question is during the move or resizing of bar(you click on bar and drag it,during that time) , can we display the new dates simultaneously so we will know where we want to move or resize the bar to

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "DrawDateTicker", -1);
	_ObjectSetProperty( chart , "DateTickerLabel", "<%mmm%> <%d%><br><b><%yyyy%>");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Tasks A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001","K1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2001","1/9/2001","K2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SelectableItem(AddItem()) = False");
	h = _ObjectCallMethod( items , "AddItem", "Tasks B");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/5/2001","K1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/11/2001","K2");

1340
Is it possible to assign a tooltip automatically to all bars, so it can display the start and end, without specifying the IexBarToolTip for each bar
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Def(6) = `<b><%=%9 + '/' + %C0%></b><br><upline><dotline>Start: <%=%1%><br>End: <%=%2%><br>Duration: <%=(%2-%1)%><br>Working: <%=%258%>`");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Tasks A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001","K1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2001","1/9/2001","K2");
	h = _ObjectCallMethod( items , "AddItem", "Tasks B");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/5/2001","K1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/11/2001","K2");

1339
How can I change the color, font, bold etc for the items/cells in the same column or for the entire column
OBJECT column,conditionalformat,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "1");
	_ObjectSetProperty( conditionalformat , "Bold", -1);
	_ObjectSetProperty( conditionalformat , "ForeColor", 255);
	_ObjectSetProperty( conditionalformat , "ApplyTo", 1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C1");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "C2");
	_ObjectSetProperty( column , "HeaderBold", -1);
	_ObjectSetProperty( column , "HTMLCaption", "<fgcolor=FF0000>C2");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(10),1) = 11");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(12),1) = 13");
_ObjectCallMethod( g2antt , "EndUpdate");

1338
How can I remove a date-time zone

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
FUNCTION g2anttEvents_Click()
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Chart") , "RemoveTimeZone", "Z1");
END

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 18");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2010");
	_ObjectCallMethod( chart , "MarkTimeZone", "Z1","1/4/2010","1/8/2010",16744544);

1337
How can I filter the check-boxes (method 2)
OBJECT column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Check");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 19);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(g2antt, "TemplatePut", editor)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(17) = 1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "CustomFilter", "checked||-1|||unchecked||0");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", -1);
	_ObjectCallMethod( items , "AddItem", -1);
	_ObjectCallMethod( items , "AddItem", 0);
	_ObjectCallMethod( items , "AddItem", -1);
	_ObjectCallMethod( items , "AddItem", 0);
	_ObjectCallMethod( items , "AddItem", -1);
	_ObjectCallMethod( items , "AddItem", 0);

1336
How can I filter the check-boxes (method 1)
OBJECT column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Check");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 19);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(g2antt, "TemplatePut", editor)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(17) = 1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", -1);
	_ObjectCallMethod( items , "AddItem", -1);
	_ObjectCallMethod( items , "AddItem", 0);
	_ObjectCallMethod( items , "AddItem", -1);
	_ObjectCallMethod( items , "AddItem", 0);
	_ObjectCallMethod( items , "AddItem", -1);
	_ObjectCallMethod( items , "AddItem", 0);

1335
How can add a button to control

// ButtonClick event - Occurs when user clicks on the cell's button.
FUNCTION g2anttEvents_ButtonClick(OBJECT g2antt, INT Item, INT ColIndex, VARIANT Key)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,ColIndex,Item")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", ColIndex)
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	Message( "ButtonClick" );
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.CellCaption(Item,ColIndex)") );
	Message( Key );
END

OBJECT column,columns,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 22);
_ObjectSetProperty( g2antt , "HeaderHeight", 22);
_ObjectSetProperty( g2antt , "Appearance", 0);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "ScrollBySingleLine", 0);
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "HTMLPicture(`pic1`) = `c:\exontrol\images\auction.gif`");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Type");
		_ObjectSetProperty( column , "Width", 48);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
	column = _ObjectCallMethod( columns , "Add", "Appearance");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectSetProperty( column , "Alignment", 1);
		_ObjectSetProperty( column , "HeaderAlignment", 1);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Items.<b>CellHasButton</b> property");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Button <b>1</b>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasButton(h,1) = True");
	h = _ObjectCallMethod( items , "AddItem", "Items.<b>CellButtonAutoWidth</b> property");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = ` Button <b>2</b> `");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasButton(h,1) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellButtonAutoWidth(h,1) = True");
	h = _ObjectCallMethod( items , "AddItem", "Items.<b>CellHasButton</b> property");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = ` <img>2</img>Button <b>3</b> `");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasButton(h,1) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellButtonAutoWidth(h,1) = True");
	h = _ObjectCallMethod( items , "AddItem", "Items.<b>CellHasButton</b> property");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 32");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = ` <img>2</img>Button <b>4</b> <img>pic1</img> `");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasButton(h,1) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellButtonAutoWidth(h,1) = True");
	h = _ObjectCallMethod( items , "AddItem", "Items.<b>CellHasButton</b> in splitted cells");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = ` Button <b>5.1</b> `");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasButton(h,1) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellButtonAutoWidth(h,1) = True");
	s = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SplitCell(h,1)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,s")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", s)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(0,s) = ` Button <b>5.2</b> `");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasButton(0,s) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellButtonAutoWidth(0,s) = True");
	h = _ObjectCallMethod( items , "AddItem", "Column.<b>Editor</b>, Items.<b>CellEditor</b>");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Visible when clicking the cell`");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,1)");
		_ObjectSetProperty( editor , "EditType", 1);
		_ObjectCallMethod( editor , "AddButton", "B1",1,0,"This is a bit of text that's shown when the cursor hovers the button B1");
		_ObjectCallMethod( editor , "AddButton", "B3",2,1,"This is a bit of text that's shown when the cursor hovers the button B3");
		_ObjectCallMethod( editor , "AddButton", "B4",1,1,"This is a bit of text that's shown when the cursor hovers the button B4");
		_ObjectSetProperty( editor , "ButtonWidth", 24);
	h = _ObjectCallMethod( items , "AddItem", "Column.<b>Editor</b>, Items.<b>CellEditor</b>");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = 3");
	editor = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellEditor(h,1)");
		_ObjectSetProperty( editor , "EditType", 6);
		_ObjectCallMethod( editor , "AddItem", 1,"Flag 1");
		_ObjectCallMethod( editor , "AddItem", 2,"Flag 2");
		_ObjectCallMethod( editor , "AddItem", 4,"Flag 4");
		_ObjectCallMethod( editor , "AddItem", 8,"Flag 8");
		_ObjectCallMethod( editor , "AddButton", "C1",1,0,"This is a bit of text that's shown when the cursor hovers the button C1");
		_ObjectCallMethod( editor , "AddButton", "C3",2,0,"This is a bit of text that's shown when the cursor hovers the button C2");
		_ObjectCallMethod( editor , "AddButton", "C4",1,0,"This is a bit of text that's shown when the cursor hovers the button C3");
		_ObjectSetProperty( editor , "ButtonWidth", 24);
_ObjectCallMethod( g2antt , "EndUpdate");

1334
Is it posible to store additional values against each item, cell, bar, link, such as custom values such string / numbers etc
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column") , "Data", "Extra_Data_Column");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemData(h) = `Extra_Data_Item 1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellData(h,0) = `Extra_Data_Item 1_Cell_0`");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001","B1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`B1`,17) = `Extra_B1_Data`");
	h = _ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemData(h) = `Extra_Data_Item 2`");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/6/2001","1/10/2001","B2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`B2`,17) = `Extra_B2_Data`");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod( items , "AddLink", "L1",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FindItem(`Item 1`,0)"),"B1",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FindItem(`Item 2`,0)"),"B2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,5) = `Extra_Link_Data`");

1333
How do I set the parent item to show the total number of days for its children and also the minimum and maximum dates for its children

OBJECT chart,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectSetProperty( g2antt , "Indent", 11);
_ObjectSetProperty( g2antt , "HasLines", 1);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Tasks");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", columns)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Add(`Start`).Def(18) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Add(`End`).Def(18) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Add(`Duration`).Def(18) = 513");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "ShowNonworkingDates", 0);
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 220");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	_ObjectCallMethod( items , "AddBar", h,"Summary","9/21/2006","10/3/2006");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/21/2006","9/24/2006");
	h2 = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","9/24/2006","9/28/2006");
	h3 = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod( items , "AddBar", h3,"Task","9/28/2006","10/3/2006");
	_ObjectCallMethod( items , "DefineSummaryBars", h,"",h1,"");
	_ObjectCallMethod( items , "DefineSummaryBars", h,"",h2,"");
	_ObjectCallMethod( items , "DefineSummaryBars", h,"",h3,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBold(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1332
Is it possible to specify the distance between 2 bars to be at least 2 working days

// BarResizing event - Occurs when a bar is moving or resizing.
FUNCTION g2anttEvents_BarResizing(OBJECT g2antt, INT Item, VARIANT Key)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "SchedulePDM", Item,Key);
END

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 24);
_ObjectSetProperty( g2antt , "AntiAliasing", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task:Split");
		_ObjectSetProperty( bar , "Shortcut", "Task");
		_ObjectSetProperty( bar , "Color", 0);
		_ObjectSetProperty( bar , "Height", 17);
		_ObjectSetProperty( bar , "Pattern", 8192);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/3/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "LinksWidth", 2);
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	_ObjectSetProperty( chart , "NonworkingDaysPattern", 6);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","1/4/2001","1/6/2001","K1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`K1`,20) = True");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/2/2001","1/5/2001","K2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h2")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h2)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h2,`K2`,20) = True");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"K1",h2,"K2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,15) = -1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,8) = 8421504");
	h3 = _ObjectCallMethod( items , "AddItem", "Task 3");
	_ObjectCallMethod( items , "AddBar", h3,"Task","1/2/2001","1/6/2001","K3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h3")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h3)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h3,`K3`,20) = True");
	_ObjectCallMethod( items , "AddLink", "L2",h2,"K2",h3,"K3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L2`,12) = `<br><br><br><br>This link <u>delays</u> the bars<br>with <b>2</b> working days`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L2`,16) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L2`,15) = -1");
	_ObjectCallMethod( items , "SchedulePDM", 0,"K1");
_ObjectCallMethod( g2antt , "EndUpdate");

1331
The item is not getting selected when clicking the cell's checkbox. What should I do
// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION g2anttEvents_CellStateChanged(OBJECT g2antt, INT Item, INT ColIndex)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.SelectItem(Item) = True");
END

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Check`).Def(0) = True");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", 0);
	_ObjectCallMethod( items , "AddItem", 1);
	_ObjectCallMethod( items , "AddItem", 2);
	_ObjectCallMethod( items , "AddItem", 3);

1330
How can I add a summary item as a child or subitem of another one

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2011");
	_ObjectSetProperty( chart , "LevelCount", 2);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Project");
	_ObjectCallMethod( items , "AddBar", hSummary,"Summary","1/1/2011","1/1/2011","Sum");
	hChild = _ObjectCallMethod( items , "InsertItem", hSummary,0,"Task 1");
	_ObjectCallMethod( items , "AddBar", hChild,"Task","1/2/2011","1/4/2011","Task1");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"Sum",hChild,"Task1");
	hChild = _ObjectCallMethod( items , "InsertItem", hSummary,0,"Task 2");
	_ObjectCallMethod( items , "AddBar", hChild,"Task","1/4/2011","1/6/2011","Task2");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"Sum",hChild,"Task2");
	hChild = _ObjectCallMethod( items , "InsertItem", hSummary,0,"Task 3");
	_ObjectCallMethod( items , "AddBar", hChild,"Task","1/6/2011","1/8/2011","Task3");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummary,"Sum",hChild,"Task3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummary")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummary)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(hSummary) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1329
How can I make an item a subitem of another one
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	hSummary = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", hSummary,0,"Task 1");
	hChild = _ObjectCallMethod( items , "InsertItem", hSummary,0,"Task 2");
	hChild = _ObjectCallMethod( items , "InsertItem", hSummary,0,"Task 3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hSummary")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hSummary)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(hSummary) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1328
Is it possible to move a bar per drag and drop to another owner/item
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Members`).Def(17) = 1");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectSetProperty( chart , "AllowSelectObjects", 0);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).OverlaidType = 4611");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Member <b>1</b>");
	_ObjectCallMethod( items , "AddBar", h,"Task","9/21/2006","9/23/2006","T102","Task <b>102</b>");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`T102`,4) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`T102`,28) = True");
	h = _ObjectCallMethod( items , "AddItem", "Member <b>2</b>");
	h = _ObjectCallMethod( items , "AddItem", "Member <b>3</b>");
	h = _ObjectCallMethod( items , "AddItem", "Member <b>4</b>");
	_ObjectCallMethod( items , "AddBar", h,"Task","9/21/2006","9/23/2006","T103","Task <b>103</b>");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`T103`,4) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`T103`,28) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1327
I have the chart displaying days, is it possible to display bars/tasks up to hours so inside days somehow
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitWidth", 38);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 28");
	_ObjectSetProperty( chart , "FirstVisibleDate", "3/4/2011");
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "ResizeUnitScale", 65536);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "ASS"),"Task","3/7/2011","3/7/2011 3:30:00 AM");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "EMB"),"Task","3/7/2011 3:30:00 AM","3/8/2011 9:15:00 AM");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "TES"),"Task","3/8/2011 9:15:00 AM","3/8/2011 1:45:00 PM");
_ObjectCallMethod( g2antt , "EndUpdate");

1326
Is it possible to limit the height of the item while resizing
// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.ItemMinHeight(Item) = 18");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.ItemMaxHeight(Item) = 72");
END

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ItemsAllowSizing", -1);
_ObjectSetProperty( g2antt , "ScrollBySingleLine", 0);
_ObjectSetProperty( g2antt , "BackColorAlternate", 15790320);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Names");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Mantel");
	_ObjectCallMethod( items , "AddItem", "Mechanik");
	_ObjectCallMethod( items , "AddItem", "Motor");
	_ObjectCallMethod( items , "AddItem", "Murks");
	_ObjectCallMethod( items , "AddItem", "Märchen");
	_ObjectCallMethod( items , "AddItem", "Möhren");
	_ObjectCallMethod( items , "AddItem", "Mühle");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0).SortOrder = 1");
_ObjectCallMethod( g2antt , "EndUpdate");

1325
Is it possible to copy the hierarchy of the control using the GetItems method
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Def");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( g2antt , "PutItems", _ObjectCallMethod( g2antt , "GetItems", -1));

1324
I have found a property ReadOnly but this doesn't work correctly. I need the chart part of the control to be readonly too. Is it possible
OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ReadOnly", -1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectSetProperty( chart , "BarsAllowSizing", 0);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);

1323
How can I select a column
// MouseDown event - Occurs when the user presses a mouse button.
FUNCTION g2anttEvents_MouseDown(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod( g2antt , "BeginUpdate");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim X,Y")
	_ObjectCallMethod(g2antt, "TemplatePut", X)
	_ObjectCallMethod(g2antt, "TemplatePut", Y)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(Me.ColumnFromPoint(X,Y)).Selected = True");
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "SelectAll");
	_ObjectCallMethod( g2antt , "EndUpdate");
END

OBJECT columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectSetProperty( g2antt , "SingleSel", 0);
_ObjectSetProperty( g2antt , "FullRowSelect", 1);
_ObjectSetProperty( g2antt , "SortOnClick", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column1");
	_ObjectCallMethod( columns , "Add", "Column2");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`One`),1) = `One`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Two`),1) = `Two`");
_ObjectCallMethod( g2antt , "EndUpdate");

1322
I have several columns, but noticed that the filter is using AND between columns, but I need OR clause for filtering. Is it possible
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Item");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "Filter", "Child 1");
	_ObjectSetProperty( column , "FilterType", 240);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "DisplayFilterDate", -1);
	_ObjectSetProperty( column , "FilterList", 9474);
	_ObjectSetProperty( column , "Filter", "12/28/2010");
	_ObjectSetProperty( column , "FilterType", 4);
_ObjectSetProperty( g2antt , "FilterCriteria", "%0 or %1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(23) = `<font ;18><fgcolor=FF0000>or</fgcolor></font>`");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = `<font ;18><fgcolor=FF0000>and</fgcolor></font>`");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(InsertItem(h,,`Child 1`),1) = #12/27/2010#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(InsertItem(h,,`Child 2`),1) = #12/28/2010#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(InsertItem(h,,`Child 1`),1) = #12/29/2010#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(InsertItem(h,,`Child 2`),1) = #12/30/2010#");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

1321
Is it possible exclude the dates being selected in the drop down filter window
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date");
	_ObjectSetProperty( column , "SortType", 2);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "DisplayFilterDate", -1);
	_ObjectSetProperty( column , "FilterList", 9474);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "12/27/2010");
	_ObjectCallMethod( items , "AddItem", "12/28/2010");
	_ObjectCallMethod( items , "AddItem", "12/29/2010");
	_ObjectCallMethod( items , "AddItem", "12/30/2010");
	_ObjectCallMethod( items , "AddItem", "12/31/2010");
_ObjectCallMethod( g2antt , "EndUpdate");

1320
How can I display a calendar control inside the drop down filter window
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date");
	_ObjectSetProperty( column , "SortType", 2);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "DisplayFilterDate", -1);
	_ObjectSetProperty( column , "FilterList", 1282);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "12/27/2010");
	_ObjectCallMethod( items , "AddItem", "12/28/2010");
	_ObjectCallMethod( items , "AddItem", "12/29/2010");
	_ObjectCallMethod( items , "AddItem", "12/30/2010");
	_ObjectCallMethod( items , "AddItem", "12/31/2010");
_ObjectCallMethod( g2antt , "EndUpdate");

1319
Is it possible to include the dates as checkb-boxes in the drop down filter window
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Dates");
	_ObjectSetProperty( column , "SortType", 2);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", -1);
	_ObjectSetProperty( column , "DisplayFilterDate", -1);
	_ObjectSetProperty( column , "FilterList", 1280);
	_ObjectSetProperty( column , "Filter", "to 12/27/2010");
	_ObjectSetProperty( column , "FilterType", 4);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "12/27/2010");
	_ObjectCallMethod( items , "AddItem", "12/28/2010");
	_ObjectCallMethod( items , "AddItem", "12/29/2010");
	_ObjectCallMethod( items , "AddItem", "12/30/2010");
	_ObjectCallMethod( items , "AddItem", "12/31/2010");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

1318
How can I filter items for dates before a specified date
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Dates");
	_ObjectSetProperty( column , "SortType", 2);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", -1);
	_ObjectSetProperty( column , "DisplayFilterDate", -1);
	_ObjectSetProperty( column , "FilterList", 1026);
	_ObjectSetProperty( column , "Filter", "to 12/27/2010");
	_ObjectSetProperty( column , "FilterType", 4);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "12/27/2010");
	_ObjectCallMethod( items , "AddItem", "12/28/2010");
	_ObjectCallMethod( items , "AddItem", "12/29/2010");
	_ObjectCallMethod( items , "AddItem", "12/30/2010");
	_ObjectCallMethod( items , "AddItem", "12/31/2010");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

1317
Is it possible to filter dates
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Dates");
	_ObjectSetProperty( column , "SortType", 2);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", -1);
	_ObjectSetProperty( column , "DisplayFilterDate", -1);
	_ObjectSetProperty( column , "FilterList", 1026);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "12/27/2010");
	_ObjectCallMethod( items , "AddItem", "12/28/2010");
	_ObjectCallMethod( items , "AddItem", "12/29/2010");
	_ObjectCallMethod( items , "AddItem", "12/30/2010");
	_ObjectCallMethod( items , "AddItem", "12/31/2010");
_ObjectCallMethod( g2antt , "EndUpdate");

1316
Is it possible to change the Exclude field name to something different, in the drop down filter window
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(25) = `Leaving out`");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 9472);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
_ObjectCallMethod( g2antt , "EndUpdate");

1315
How can I display the Exclude field in the drop down filter window
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 9472);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
_ObjectCallMethod( g2antt , "EndUpdate");

1314
Is it possible to show and ensure the focused item from the control, in the drop down filter window
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 1280);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SelectItem(InsertItem(h,,`Child 2`)) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1313
Is it possible to show only blanks items with no listed items from the control
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 16386);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1312
How can I include the blanks items in the drop down filter window
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 16640);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1311
How can I select multiple items in the drop down filter window, using check-boxes
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 256);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1310
Is it possible to allow a single item being selected in the drop down filter window
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 128);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1309
How can I display no (All) item in the drop down filter window
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(0) = ``");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", -1);
	_ObjectSetProperty( column , "FilterList", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1308
Is it possible to display no items in the drop down filter window, so only the pattern is visible
OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", -1);
	_ObjectSetProperty( column , "FilterList", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1307
How can I specify the time-scale available when zoom-in/zoom-out or enlarging the chart
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "ShowNonworkingDates", 0);
	_ObjectSetProperty( chart , "LevelCount", 3);
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "AllowResizeChart", 262);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(65536) = ``");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(1048576) = ``");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(16777216) = ``");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task A"),"Task","1/2/2001","1/6/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task B"),"Task","1/6/2001","1/10/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task C"),"Task","1/10/2001","1/14/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", ""),"","1/8/2001","1/8/2001","Info","Click the <b>middle</b> mouse button and start dragging");
_ObjectCallMethod( g2antt , "EndUpdate");

1306
How can I enable zoom-in/zoom-out or enlarging the chart, using the mouse middle button
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "ShowNonworkingDates", 0);
	_ObjectSetProperty( chart , "LevelCount", 3);
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "AllowResizeChart", 262);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task A"),"Task","1/2/2001","1/6/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task B"),"Task","1/6/2001","1/10/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task C"),"Task","1/10/2001","1/14/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", ""),"","1/8/2001","1/8/2001","Info","Click the <b>middle</b> mouse button and start dragging");
_ObjectCallMethod( g2antt , "EndUpdate");

1305
How can I enable zoom-in/zoom-out or enlarging, using the chart's header

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "ShowNonworkingDates", 0);
	_ObjectSetProperty( chart , "LevelCount", 3);
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "AllowResizeChart", 258);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task A"),"Task","1/2/2001","1/6/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task B"),"Task","1/6/2001","1/10/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task C"),"Task","1/10/2001","1/14/2001","K1");
_ObjectCallMethod( g2antt , "EndUpdate");

1304
How can I enable resizing the chart, using the mouse middle button
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "ShowNonworkingDates", 0);
	_ObjectSetProperty( chart , "LevelCount", 3);
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "AllowResizeChart", 6);
	_ObjectSetProperty( chart , "MaxUnitWidth", 128);
	_ObjectSetProperty( chart , "MinUnitWidth", 8);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task A"),"Task","1/2/2001","1/6/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task B"),"Task","1/6/2001","1/10/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task C"),"Task","1/10/2001","1/14/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", ""),"","1/8/2001","1/8/2001","Info","Click the <b>middle</b> mouse button and start dragging");
_ObjectCallMethod( g2antt , "EndUpdate");

1303
How can I enable resizing the chart, using the chart's header
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "ShowNonworkingDates", 0);
	_ObjectSetProperty( chart , "LevelCount", 3);
	_ObjectSetProperty( chart , "UnitScale", 4096);
	_ObjectSetProperty( chart , "AllowResizeChart", 2);
	_ObjectSetProperty( chart , "MaxUnitWidth", 128);
	_ObjectSetProperty( chart , "MinUnitWidth", 8);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task A"),"Task","1/2/2001","1/6/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task B"),"Task","1/6/2001","1/10/2001","K1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task C"),"Task","1/10/2001","1/14/2001","K1");
_ObjectCallMethod( g2antt , "EndUpdate");

1302
Is it possible to auto-numbering the children items but still keeps the position after filtering

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Child 2");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos.1");
	_ObjectSetProperty( column , "FormatColumn", "1 ropos ''");
	_ObjectSetProperty( column , "Position", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "AllowSizing", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos.2");
	_ObjectSetProperty( column , "FormatColumn", "1 ropos ':'");
	_ObjectSetProperty( column , "Position", 1);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "AllowSizing", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos.3");
	_ObjectSetProperty( column , "FormatColumn", "1 ropos ':|A-Z'");
	_ObjectSetProperty( column , "Position", 2);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "AllowSizing", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos.4");
	_ObjectSetProperty( column , "FormatColumn", "1 ropos '|A-Z|'");
	_ObjectSetProperty( column , "Position", 3);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "AllowSizing", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos.5");
	_ObjectSetProperty( column , "FormatColumn", "'<font Tahoma;7>' + 1 ropos '-<b>||A-Z'");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "Position", 4);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "AllowSizing", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos.6");
	_ObjectSetProperty( column , "FormatColumn", "'<b>'+ 1 ropos '</b>:<fgcolor=FF0000>|A-Z|'");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "Position", 5);
	_ObjectSetProperty( column , "Width", 48);
	_ObjectSetProperty( column , "AllowSizing", 0);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

1301
Is it possible to auto-numbering the children items too

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos.1");
	_ObjectSetProperty( column , "FormatColumn", "1 rpos ''");
	_ObjectSetProperty( column , "Position", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "AllowSizing", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos.2");
	_ObjectSetProperty( column , "FormatColumn", "1 rpos ':'");
	_ObjectSetProperty( column , "Position", 1);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "AllowSizing", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos.3");
	_ObjectSetProperty( column , "FormatColumn", "1 rpos ':|A-Z'");
	_ObjectSetProperty( column , "Position", 2);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "AllowSizing", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos.4");
	_ObjectSetProperty( column , "FormatColumn", "1 rpos '|A-Z|'");
	_ObjectSetProperty( column , "Position", 3);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "AllowSizing", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos.5");
	_ObjectSetProperty( column , "FormatColumn", "'<font Tahoma;7>' + 1 rpos '-<b>||A-Z'");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "Position", 4);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "AllowSizing", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos.6");
	_ObjectSetProperty( column , "FormatColumn", "'<b>'+ 1 rpos '</b>:<fgcolor=FF0000>|A-Z|'");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "Position", 5);
	_ObjectSetProperty( column , "Width", 48);
	_ObjectSetProperty( column , "AllowSizing", 0);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( g2antt , "EndUpdate");